package cn.jy.map.service;

import java.util.List;
import java.util.Map;

import cn.jy.map.domain.achieve.JCRewardPunishment;
import cn.jy.map.domain.achieve.NurseAchievements;
import cn.jy.map.domain.achieve.NursePostWagesDetail;

public interface AchievementsService {

	/**
	 * 构造所有护士的绩效数据 <br>
	 *  如果year为null，默认为当年前
	 *  如果month为null，则构造year年所有的
	 * @param year : 年份，如果不为null，则构造这一年的
	 * @param month ： 月份，如果不为null，则构造 year 年 month 月的
	 */
	public void loadAchievementsData(String year ,int month);
	/**
	 * 构造所有有岗位绩效比例的护士的岗位绩效数据 <br>
	 * 有岗位绩效比例的护士的岗位绩效 = 采浆室平均绩效 * 岗位绩效比例<br>
	 *  如果year为null，默认为当年前
	 *  如果month为null，则构造year年所有的
	 * @param year : 年份，如果不为null，则构造这一年的
	 * @param month ： 月份，如果不为null，则构造 year 年 month 月的
	 */
	public void loadAchievePostJx(String year ,int month);
	
	/**
	 * 查询指定护士某一年的综合绩效
	 * @param nurseId ： 护士ID
	 * @param year ： 年份
	 */
	public List<NurseAchievements> getNurseAchievements(String nurseId,String year);
	
	/**
	 * 查询某个护士某年某个月的岗位绩效详情
	 * @param nurseId
	 * @param year
	 * @param month
	 * @return
	 */
	public List<NursePostWagesDetail> getNursePostWagesDetail(String nurseId ,String year,int month);
	
	/**
	 * 查询某个护士某年某月的血源发展绩效详情
	 * @param nurseId
	 * @param year
	 * @param month
	 * @return
	 */
	public List<Map<String,Object>> getXyfz(String nurseId ,String year,int month);
	/**
	 * 查询某个护士某年某月的奖惩详情
	 * @param nurseId
	 * @param year
	 * @param month
	 * @return
	 */
	public List<JCRewardPunishment> getJCRewardPunishment(String nurseId ,String year,int month);
}
